//
//  JBStatus.swift
//  sinaBlog
//
//  Created by jobo on 15/12/3.
//  Copyright © 2015年 jobo. All rights reserved.
//

import UIKit

class JBStatus: NSObject {

    //微博创建时间
    var crate_at : String?
    
    //微博id
    var idStr : String?
    
    //微博消息内容
    var test : String?
    
    //微博来源
    var source : String?
    
    //微博图片地址数组
    var pic_urls : [[String : AnyObject]]?
    
    
    //字典转模型
    init(dict : [String : AnyObject]) {
        super.init()
        
        setValuesForKeysWithDictionary(dict)
    }
    
    //字典里模型没有的字段
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {
        
    }
    
    override var description : String {
        
        let p = ["crate_at","idStr","test","source","pic_urls"]
        
        return "--------------打印微博模型:\n\t:\(dictionaryWithValuesForKeys(p))"
        
        
    }
    //字典转模型方法
    class func loadStatus(finish : (statuses : [JBStatus]? , error : NSError?) -> ())
    {
        JBNetWorkTools.shareInstance.loadStatus { (result, error) -> () in
            
            if error != nil
            {
                print(error)
                print("加载微博数据出错")
                //闭包回调通知调用者
                finish(statuses:nil, error: error)
                
                return
            }
            
            if let array = result?["statuses"] as? [[String : AnyObject]]
            {
                //创建模型数组
                var statuses = [JBStatus]()
                
                for dict in array
                {
                    //字典转模型
                    statuses.append(JBStatus(dict: dict))
                }
                print("!!!!字典转模型完成statuses : \(statuses)")
                //通知调用者
                finish(statuses: statuses, error: nil)
            }
            else
            {
                print("没有微博数据用来转模型")
                finish(statuses: nil, error: nil)
            }
        }
    }
    
}
